Considera dos variables \(X\) y \(Y\) con distribución exponencial donde una tiene valor esperado que sea el doble del valor esperado de la otra (tú decides el parámetro).
Escoge al menos 5 tipos de cópulas para modelar la dependencia entre ellas, para cada cópula escoge parámetros que reflejen una dependencia negativa y una dependencia positiva (en total tendrás 10 modelos). Para cada uno de los 10 modelos:
Muestra la función de distribución conjunta de \(X\) y \(Y\) (la fórmula).
Grafica la función de densidad conjunta de \(X\) y \(Y\).
Varianza de \(X\), \(Y\) y \(X + Y\).
Desviación estándar de \(X\), \(Y\) y \(X + Y\).
Cuantil al 95% de \(X\), \(Y\) y \(X + Y\).
Valor esperado condicional de la cola al 95% de \(X\), \(Y\) y \(X + Y\).
Repite el inciso anterior; pero ahora considera que \(X\) y \(Y\) tienen distribución pareto donde una tiene valor esperado que sea el doble del valor esperado de la otra (tú decides los parámetros).
2 Solución
2.1 Caso Exponencial
Tenemos las siguientes variables aleatorias:
\[X\sim \textbf{Exp}(\lambda)\]
\[Y\sim \textbf{Exp}(2\lambda)\]
donde \(F_{x}(x)=1-e^{-\lambda x}\) y \(F_{y}(y)=1-e^{-2\lambda y}\)
Código
library(copula)library(lattice)# Exponential distribution for both marginalslambda <-1# Parameters for the marginals# You can adjust these parameters as neededparams1 <- lambda # Rate for the first exponential distributionparams2 <-2*lambda # Rate for the second exponential distribution
donde \(\Phi_{2}\) es la función de distribución conjunta de una distribución normal bivariada con media cero y varianza uno y correlación \(\rho\) (esta determinará la relación negativa o positiva de las variables); y \(\Phi\) es la función de distribución de una distribución normal estándar.
library(copula)rho =.9# Definir cópula gaussianamyCopulaP <-normalCopula(rho, dim =2)myCopulaN <-normalCopula(-rho, dim =2)# Número de muestrasn <-10000# Generar muestras de la cópulaset.seed(123)samples <-rCopula(n, myCopulaP) # caso positivosamples2 <-rCopula(n, myCopulaN) # caso negativo# Convertir las muestras a distribuciones exponenciales## caso positivosamples[,1] <-qexp(samples[,1], rate = params1)samples[,2] <-qexp(samples[,2], rate = params2)## caso negativosamples2[,1] <-qexp(samples2[,1], rate = params1)samples2[,2] <-qexp(samples2[,2], rate = params2)library(ks)# Estimación de la densidaddens <-kde(as.matrix(samples)) # caso positivodens2 <-kde(as.matrix(samples2)) # caso negativolibrary(plotly)# Convertir la estimación de densidad a un formato adecuado## caso positivox <- dens$eval.points[[1]] y <- dens$eval.points[[2]]z <-matrix(dens$estimate, nrow =length(x), ncol =length(y))## caso negativox2 <- dens2$eval.points[[1]] y2 <- dens2$eval.points[[2]]z2 <-matrix(dens2$estimate, nrow =length(x2), ncol =length(y2))
2.1.1.2.1 Caso Positivo
Código
# Crear gráfico 3D## caso positivoplot_ly(x =~x, y =~y, z =~z, type ="surface")
2.1.1.2.2 Caso Negativo
Código
plot_ly(x=~x2, y =~y2, z =~z2, type ="surface")
2.1.1.3 Varianza
Código
# Calcula las estadísticas para las muestras generadas# Para la correlación negativa (o positiva, según corresponda)## Caso positivoX_Positivo <- samples[,1]Y_Positivo <- samples[,2]Sum_XY_Positivo <- X_Positivo + Y_Positivo## Caso negativoX_Negative <- samples2[,1]Y_Negative <- samples2[,2]Sum_XY_Negative <- X_Negative + Y_Negative# Varianzavar_X <-1var_Y <-1/4## Caso Positivovar_Sum_XY_Positivo <-var(Sum_XY_Positivo)## Caso Negativovar_Sum_XY_Negative <-var(Sum_XY_Negative)# Desviación estándarsd_X <-sqrt(var_X)sd_Y <-sqrt(var_Y)## Caso Positivosd_Sum_XY_Positivo <-sd(Sum_XY_Positivo)## Caso Negativosd_Sum_XY_Negative <-sd(Sum_XY_Negative)# Cuantil al 95%quantile_X_95 <-qexp(0.95, rate = params1)quantile_Y_95 <-qexp(0.95, rate = params2)## Caso positivoquantile_Sum_XY_95_Positivo <-quantile(Sum_XY_Positivo, 0.95)## Caso Negativoquantile_Sum_XY_95_Negative <-quantile(Sum_XY_Negative, 0.95)# Valor esperado condicional de la cola al 95%## Caso positivo#exp_X_Tail_95 <-#exp_Y_Tail_95 <- mean_Sum_XY_Tail_95_Positivo <-mean(Sum_XY_Positivo[Sum_XY_Positivo > quantile_Sum_XY_95_Positivo])## Caso Negativomean_Sum_XY_Tail_95_Negative <-mean(Sum_XY_Negative[Sum_XY_Negative > quantile_Sum_XY_95_Negative])# Imprimir los resultadoscat("Correlación Negativa:\n")
Correlación Negativa:
Código
cat("Varianzas: X =", var_X, ", Y =", var_Y, ", X + Y =", var_Sum_XY_Negative, "\n")
Varianzas: X = 1 , Y = 0.25 , X + Y = 0.634196
Código
cat("Desviaciones Estándar: X =", sd_X, ", Y =", sd_Y, ", X + Y =", sd_Sum_XY_Negative, "\n")
Desviaciones Estándar: X = 1 , Y = 0.5 , X + Y = 0.7963643
Código
cat("Cuantiles al 95%: X =", quantile_X_95, ", Y =", quantile_Y_95, ", X + Y =", quantile_Sum_XY_95_Negative, "\n")
Cuantiles al 95%: X = 2.995732 , Y = 1.497866 , X + Y = 3.000276
Código
cat("Valor esperado condicional de la cola al 95%: X =", 2, ", Y =", 2, ", X + Y =", mean_Sum_XY_Tail_95_Negative, "\n")
Valor esperado condicional de la cola al 95%: X = 2 , Y = 2 , X + Y = 3.993384
Código
# Imprimir los resultadoscat("Correlación Positiva:\n")
Correlación Positiva:
Código
cat("Varianzas: X =", var_X, ", Y =", var_Y, ", X + Y =", var_Sum_XY_Positivo, "\n")
Varianzas: X = 1 , Y = 0.25 , X + Y = 2.139616
Código
cat("Desviaciones Estándar: X =", sd_X, ", Y =", sd_Y, ", X + Y =", sd_Sum_XY_Positivo, "\n")
Desviaciones Estándar: X = 1 , Y = 0.5 , X + Y = 1.462743
Código
cat("Cuantiles al 95%: X =", quantile_X_95, ", Y =", quantile_Y_95, ", X + Y =", quantile_Sum_XY_95_Positivo, "\n")
Cuantiles al 95%: X = 2.995732 , Y = 1.497866 , X + Y = 4.390258
Código
cat("Valor esperado condicional de la cola al 95%: X =", 2, ", Y =", 2, ", X + Y =", mean_Sum_XY_Tail_95_Positivo, "\n")
Valor esperado condicional de la cola al 95%: X = 2 , Y = 2 , X + Y = 5.877844
donde \(\textbf{t}_{\nu}(;\rho)\) es la función de distribución conjunta de una distribución t-Student bivariada estandarizada y con correlación \(\rho\) (esta determinará la relación negativa o positiva de las variables); y \(\textbf{t}_{\nu}\) es la función de distribución de una distribución univaria t-Student.
source("codigo.R")# Parámetros de la cópula y las distribuciones marginalesrho =0.9df =4# Grados de libertad para la cópula t de Studentparams1 =1# Parámetro para la primera distribución exponencialparams2 =1# Parámetro para la segunda distribución exponencial# Definir cópulas t de StudentmyCopulaP <-tCopula(rho, dim =2, df = df)myCopulaN <-tCopula(-rho, dim =2, df = df)grafCopula2 <-graficaDensidadCopulas(myCopulaP,myCopulaN)
2.1.2.2.1 Caso Positivo
Código
# Mostrar los gráficosgrafCopula2[1]
[[1]]
2.1.2.2.2 Caso Negativo
Código
# Mostrar los gráficosgrafCopula2[2]
[[1]]
2.1.3 Varianza
2.1.4 Arquimediana Clayton
\[C(u,v)=\phi^{-1}(\phi(u)+\phi(v))\]
donde \(\phi(u)=\frac{1}{\theta}\left(t^{-\theta}-1\right)\)